#ifndef Chart_YTXConfig_h
#define Chart_YTXConfig_h

#include "Communicate.h"
#include "YTXChartStyle.h"
#include "ChartTemplate.h"
#include "AVGConfig.h"
#include "KLineConfig.h"
#include "IndexConfig.h"
#include "Metal.h"

#include <vector>
#include <map>

namespace ytx
{
	class YTXConfig {
    private:
        YTXConfig();
	public:
        static YTXConfig * instance;// 单例
        static YTXConfig * getInstance();
        
        std::string LogTag;
        std::string CanvasTag;
        std::string HTTPTag;
        std::string EventTag;
        std::string RunTimeTag;
		Communicate communicate;// 地址
		Style style;// 各种样式(颜色，高度，比例等等)
		ChartTemplate chartTemplate;// Chart模板
		KLineConfig kLine;
		AVGConfig AVG;
		std::map<IndexType::IndexType, IndexConfig> index;
        std::vector<Metal> metal;
        bool debugger;
        bool isTest;
        
        std::string userDefaultGroupName;
	};
}

#endif
